This invention relates generally to data and information communication systems and their operation, and, more particularly, to the field of storage area networking. Even more particularly, the present invention relates to Fibre Channel-to-SCSI storage area networks (SANs) and to a method and system for parsing ambiguous extended copy command target descriptors.
Dramatic growth in the amount of data that must be stored by organizations, combined with the need for faster, more reliable and more efficient data access and data management capabilities, have led many organizations to seek an improved way of storing, accessing and managing data. In many traditional computer networks, the computer protocol used to connect network components and transfer data between, for example, a server and a storage device, is the small computer system interface, or xe2x80x9cSCSIxe2x80x9d. As data storage and retrieval requirements increase, the need for fast, efficient and reliable data storage and retrieval solutions is also increasing.
For example, one problem that exists in the SCSI protocol is that when performing a data backup operation, a host device will typically read data from a source device into the host device and then write the data to a destination device, for example, a tape backup drive. The host device thus remains occupied during the entire backup operation, and its resources cannot be devoted to other operations. Furthermore, in most organizations today, data backupxe2x80x94creating a duplicate copy of data to protect it from corruption or lossxe2x80x94is accomplished by moving large volumes of stored data from a dedicated storage device over a primary computer network to a backup storage device. Since the primary computer network is also responsible for conducting day-to-day computing operations, this added data movement results in substantial congestion, slowing day-to-day computing operations.
The SCSI protocol extended copy command and the use of storage area networks (SANs), which are computer networks dedicated to data storage, can help resolve some of these problems. The SCSI extended copy command is a copy command that releases the host""s resources during a backup operation by transferring responsibility for performing the backup operation to a different processor on a copy manager device, such as a router (e.g., a Fibre Channel-to-SCSI router), that supports the extended copy command. The host is thus free to perform other operations for the network while the copy manager device directs the backup operation.
Storage area networks use a different, higher performance, computer protocol, known as Fibre Channel, to transfer data. A storage area network also allows many servers to connect to and share access with many storage devices. The many-to-many connection enabled by the storage area network, combined with the Fibre Channel protocol, permits faster, more efficient, more reliable and more manageable data transfer processes. Furthermore, a storage area network can be used to perform data backup operations, instead of the primary computer network, thus substantially reducing congestion on the primary computer network and allowing more efficient day-to-day network operations.
Most current storage devices continue to be sold with the small computer system interface. Additionally, most organizations have made significant investments in storage devices and servers that use the small computer system interface. Therefore, in order for storage area network devices that use the Fibre Channel protocol to function with storage devices that use the SCSI protocol, Fibre Channel-to-SCSI storage routers must be installed between these devices. In particular, storage routers are essential to shifting data backup processes from a primary computer network to the storage area network, since most data backup storage devices use the SCSI interface and can only connect to the storage area network through a storage router. As new computer protocols are introduced, storage routers will be increasingly essential to enable rapid, seamless communication among servers, storage devices and storage area network devices that use diverse protocols.
The extended copy command provides a means to copy data from one set of logical units to another set of logical units or to the same set of logical units. The device that receives and executes the extended copy command is called a copy manager, and can be a router such as the Fibre Channel-to-SCSI router previously discussed. The copy manager is responsible for copying data from a first logical unit(s) (source device(s)) to a second logical unit(s) (destination device(s)). These logical units may reside on different SCSI devices or on the same SCSI device (in fact, all devices and the copy manager may be the same logical unit). Before the copy manager is instructed to move data, the application controlling the data movement (the copy manager software) shall independently execute any activities necessary to prepare the devices for the extended copy command. These activities can include media change commands, the loading of tapes, mode select commands, positioning of the tape on a backup device, etc. After all preparatory actions have been accomplished, the extended copy command can be issued by a host to the copy manager to start the data transfer.
However, even when using storage area networks, with their support for the SCSI extended copy command, some backup software implementations of the SCSI extended copy command are incompatible with the copy manager software used by certain copy manager devices, such as Fibre Channel-to-SCSI routers. The SCSI extended copy command is presently described in the T10 99-143r1 Specification (the xe2x80x9c143r1 specificationxe2x80x9d). An extended copy command can reference one or more target devices (which are the source and/or the destination logical units), where each target device is described by a target descriptor. The 143r1 specification specifies that the extended copy command target descriptor length is to be equal to the number of bytes of the target descriptor.
However, the Legato implementation of the SCSI extended copy command, though claiming to be based on the 143r1 specification, set the target descriptor length equal to the byte length of the target descriptor minus the byte length of the header (i.e., actual length minus four bytes). This causes confusion, particularly when first implementing an extended copy command. Many current copy manager software simply implement the Legato implementation mistake, and are therefore incompatible with the extended copy command standard as outlined in the 143r1 specification. Conversely, solutions that implement the 143r1 specification are incompatible with the Legato implementation.
Therefore, a need exists for a method and system for reconciling the target descriptor length of a SCSI extended copy command such that extended copy commands built to either the 143r1 specification or to the Legato implementation of the 143r1 specification can be accepted and effectively executed by a copy manager device and its associated copy manager software.
A further need exists for a method and system for reconciling the target descriptor length of a SCSI extended copy command that can be implemented within a router such, as a Fibre Channel-to-SCSI router, so that a storage area network, such as a Fibre Channel-to-SCSI storage area network, can be more effectively used to relieve a primary computer network of data backup functions.
The present invention provides a method and system for reconciling target descriptor lengths of a SCSI extended copy command that substantially eliminate or reduce the disadvantages and problems associated with the use of the SCSI extended copy command as presently implemented in the 143r1 specification and the Legato implementation of the 143r1 specification.
In particular, the present invention provides a method and system for processing the target descriptor list of a SCSI extended copy command, at a router, by determining the target descriptor length implemented within the received extended copy command and adjusting the target descriptor list length implemented within the router to accept and execute the received extended copy command. One embodiment of the present invention is a method for reconciling extended copy command target descriptor lengths, comprising, in a router: receiving an extended copy command from a first host; comparing a first segment length to a target descriptor list length (xe2x80x9cTDLLxe2x80x9d), wherein the first segment length is the segment length as set by a first specification associated with the first host and wherein the TDLL is the segment length as set by a second specification associated with the router; if the first segment length is equal to the TDLL, setting a TDLL adjustment to a value of zero; if the first segment length is not equal to the TDLL, determining if the first segment length minus four bytes is equal to the TDLL; if the first segment length minus four bytes is equal to the TDLL, then setting the TDLL adjustment to a value of four; else, determining if a subsequent segment type is valid; if the subsequent segment type is valid, setting the TDLL adjustment to a value of zero; if the subsequent segment type is not valid, setting the TDLL adjustment to a value of four; and applying the TDLL adjustment to the TDLL. The first and second specifications can be either the 143r1 specification or the Legato specification.
A technical advantage of the present invention is that it provides a method and system for reconciling the target descriptor lengths of a SCSI extended copy command such that extended copy commands built to either the 143r1 specification or to the Legato implementation of the 143r1 specification can be accepted and effectively executed by a copy manager device.
Another technical advantage of the method and system for reconciling target descriptor lengths of a SCSI extended copy command of this invention is that they can comprise, and be implemented within, a Fibre Channel-to-SCSI storage router within a Fibre Channel-to-SCSI storage area network.